
//引入model处理事件模块:
let userModel  = require('../module/userModel');
let md5 = require('blueimp-md5');
const Sort = require('../config');
//定义用户要提交的数据:
module.exports = {
    //获取用户数据:
    handlePostUser:(req,res)=>{
        //通过body-parser拿到表单数据:
        let newuser = req.body;
        userModel.getUserByName(newuser.username,(err,data)=>{
            // console.log(data);
            if(err) return res.json({status:0,msg:'操作失败'});            
            if(data.length !==0) return res.json({status:0,msg:'用户已存在'});

            newuser.password = md5(newuser.password, Sort.sort)
            //-------------新增数据：
            //引入module模块来处理数据:
            //需要传入表单数据给model模块处理:返回回来的err和成功数据:
            userModel.addNewUser(newuser,(err,data)=>{
                //失败:
                // console.log(err);
                if(err) return res.json({status:0,msg:'操作失败'});
                //成功:
                if(data.affectedRows !==0){
                    res.json({status:1,msg:'注册成功'})
                } 
            })

        })
    },

    //处理登陆信息:
    handleLogin:(req,res)=>{
        //获取登陆信息:
        let userobj = req.body;
        //加密数据:
        userobj.password = md5(userobj.password,Sort.sort);
        //调用model模块连接数据库判断数据:
        userModel.checkLogin(userobj,(err,data)=>{
            //数据库查询错误:
            if (err) return res.json({status:0,msg:'查询错误'});
            //数据库数据提交信息对应错误:
            if(data.length ===0) return res.json({status:0,msg:'该用户未注册或者用户名或者密码错误'});

            //登陆成功以后,用session保存用户信息:
            req.session.isLogin = true;
            //获取登陆的信息:
            req.session.user = data[0];
            //提交数据与数据库数据配对成功：
            res.json({status:1,msg:'登陆成功'});
        })
    },
    
    //处理注销操作:
    handleLogout: (req, res) => {
        req.session.destroy(function (err) {
          if (err) throw err;
          
          res.redirect('/')
        })
    }
}